package models

import "time"

type CateAndResUseRecursionParams struct {
	CategoryCode     string `form:"categoryCode"`     // 所属分类ID
	IsResource       bool   `form:"isResource"`       // 是否读取数据
	RecursiveDisplay bool   `form:"recursiveDisplay"` // 是否递归显示(树形结构)，false为扁平化显示
	IsSubCate        bool   `form:"isSubCate"`        // 是否获取专题分类以及子分类的专题

}

// CategoryAndResRecursionData 返回递归分类和分类数据的结构体
type CategoryAndResRecursionData struct {
	ID           int64                         `gorm:"column:id" json:"id"`
	Name         string                        `gorm:"column:name" json:"name"`
	Code         string                        `gorm:"column:code" json:"code"`
	Description  string                        `gorm:"column:description" json:"description"`
	WebURL       string                        `gorm:"column:web_url" json:"webUrl"`
	ParentID     int64                         `gorm:"column:parent_id" json:"parentId"`
	SortOrder    int                           `gorm:"column:sort_order" json:"sortOrder"`
	Status       int                           `gorm:"column:status" json:"status"`
	CreateBy     int64                         `gorm:"column:create_by" json:"createBy"`
	CreateTime   time.Time                     `gorm:"column:create_time" json:"createTime"`
	UpdateBy     int64                         `gorm:"column:update_by" json:"updateBy"`
	UpdateTime   time.Time                     `gorm:"column:update_time" json:"updateTime"`
	IsDeleted    int                           `gorm:"column:is_deleted" json:"isDeleted"`
	Children     []CategoryAndResRecursionData `json:"children" gorm:"-"`
	ResourceData []ResourceRes                 `json:"resourceData" gorm:"-"`
}

// CategoryRecursionData 返回递归分类的结构体
//type CategoryRecursionData struct {
//	ID          int64                   `gorm:"column:id" json:"id"`
//	Name        string                  `gorm:"column:name" json:"name"`
//	Description string                  `gorm:"column:description" json:"description"`
//	WebURL      string                  `gorm:"column:web_url" json:"webUrl"`
//	ParentID    int64                   `gorm:"column:parent_id" json:"parentId"`
//	SortOrder   int                     `gorm:"column:sort_order" json:"sortOrder"`
//	Status      int                     `gorm:"column:status" json:"status"`
//	CreateBy    int64                   `gorm:"column:create_by" json:"createBy"`
//	CreateTime  time.Time               `gorm:"column:create_time" json:"createTime"`
//	UpdateBy    int64                   `gorm:"column:update_by" json:"updateBy"`
//	UpdateTime  time.Time               `gorm:"column:update_time" json:"updateTime"`
//	IsDeleted   int                     `gorm:"column:is_deleted" json:"isDeleted"`
//	Children    []CategoryRecursionData `json:"children" gorm:"-"`
//}
